.NET Core は、Microsoft が提供するクロスプラットフォーム対応・高パフォーマンス・オープンソースのアプリケーション開発プラットフォームです。 Windows だけでなく、Linux や macOS でも動作し、Webアプリ、API、コンソールアプリ、クラウドサービスなど、さまざまなアプリケーションを開発できます。 現在は名称が統合され、「.NET」(.NET 5 / 6 / 7 / 8 など)として進化を続けています。
.NET Coreとは何か
.NET Core は、従来の Windows 専用であった .NET Framework をモダン化し、クロスプラットフォームかつ軽量・高性能
.NET Coreと.NET Frameworkの違い
| 項目 | .NET Framework | .NET Core(現 .NET) |
|---|---|---|
| 対応OS | Windowsのみ | Windows / Linux / macOS |
| 用途 | 主にWindowsデスクトップ・旧Webアプリ | Web、API、クラウド、コンソール、マイクロサービスなど |
| パフォーマンス | 十分だが古い設計 | 高パフォーマンス・スケーラブル |
| ライセンス | クローズドソース中心 | オープンソース(.NET Foundation 管理) |
| サポート状況 | メンテナンスフェーズ | 現行の主力プラットフォーム |
.NET Coreから「.NET」への名称統合
.NET Core は、.NET 5 以降でブランドが統合され、現在は単に.NETと呼ばれています。 .NET Core 3.1 までは「.NET Core」という名称でしたが、その後は .NET 5 / .NET 6 / .NET 7 / .NET 8 とバージョンアップし、統一された .NET プラットフォームとして進化しています。 「.NET Core」という言葉は、主に .NET Framework と区別するための旧称として使われることが多くなっています。
.NET Core(.NET)の主な特徴
クロスプラットフォーム対応
- Windows / Linux / macOS で同じコードベースを実行可能
- Docker コンテナやクラウド環境(Azure、AWS、GCP)との相性が良い
高パフォーマンス・スケーラブル
- ランタイムと JIT コンパイラの最適化により、高速な実行性能
- ASP.NET Core による高パフォーマンスな Web API / Web アプリ開発
オープンソース・コミュニティ主導
- GitHub 上で開発が進められ、ソースコードが公開されている
- バグ修正や新機能提案がコミュニティからも行われる
モジュール構成と軽量性
- 必要なパッケージだけを NuGet で追加するモジュール構成
- サーバーやコンテナ環境でのデプロイがしやすい
.NET Core(.NET)でできること
- Webアプリ・Web API: ASP.NET Core を使ったモダンな Web サービス開発
- コンソールアプリ: バッチ処理、ツール、CLI アプリケーション
- クラウドアプリ: Azure などのクラウド上で動作するマイクロサービスやバックエンド
- デスクトップアプリ: Windows 向けの WinForms / WPF(.NET で継続利用可能)
- マイクロサービス: コンテナ化された小さなサービス群の構築
.NET Core(.NET)を選ぶべきケース
- 新規開発: Web API、SPA バックエンド、クラウドネイティブアプリなど
- クロスプラットフォーム前提: Linux サーバーやコンテナで運用したい場合
- 高パフォーマンスが必要: 大量アクセスのあるサービスやリアルタイム処理
- .NET Framework からの段階的移行: 一部機能を .NET Core / .NET に切り出していく場合
簡単な .NET Core(.NET)コンソールアプリの例
// .NET 6 以降のトップレベルステートメントの例
Console.WriteLine("Hello, .NET Core / .NET!");
.NET SDK をインストールすれば、dotnet new console コマンドでコンソールアプリを作成し、dotnet run で実行できます。
まとめ:.NET Coreは「現代の.NET」の出発点
- .NET Core: クロスプラットフォーム・高パフォーマンス・オープンソースなモダン .NET の基盤
- 現在: .NET 5 以降に統合され、名称としては「.NET」が主流
- 新規開発: Web、API、クラウド、コンソールなどは .NET(旧 .NET Core)を選ぶのが基本